/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cz.vse.adventura.po1715.xshet00_shevtsova;

import cz.pecinovsky.english.pojj.adv_framework.game_gui.IGameG;
import cz.pecinovsky.english.pojj.adv_framework.game_txt.IGame;
import cz.pecinovsky.english.pojj.adv_framework.test_util._Test_101;
import cz.pecinovsky.english.pojj.adv_framework.test_util._Test_115;
import cz.vse.adventura.po1715.xshet00_shevtsova.hra.Hra_destnik;
/**
 *
 * @author TShevtsova
 */
public class TestZadaneHry
{
    private static final String T_101 = "101";
    private static final String T_115 = "115";

/***************************************************************************
     * Otestuje zadanou hru základním, chybovým a kontrolním scénářem
     * (kontrolní scénář si test_101 vygeneruje sám).
     *
     * @param hra Testovaná hra
     */
    public static void test_101(IGame hra)
    {
        _Test_101 test = _Test_101.getInstance(hra);
        test.testGame();
    }


    /***************************************************************************
     * Otestuje zadanou hru základním, chybovým a kontrolním scénářem
     * (kontrolní scénář si test_101 vygeneruje sám).
     *
     * @param hra Testovaná hra
     */
    public static void test_115(IGameG hra)
    {
//        IGameG hra =Hra_destnik.getHra();
        _Test_115 test = _Test_115.getInstance(hra);
        boolean verified = test.verifyGame();
        if (verified) {
            test.playGameByTestScenario();
        }
    }

  /***************************************************************************
     * @param args Parametry příkazového řádku
     */
    public static void main(String[] args)
    {
        IGame  hra;
        String test;

    RIGHT:
       {
            if (args.length < 2) {
                hra  = Hra_destnik.getHra();
                test = T_115;
            }
            else {
//                if ("SKOLA".equalsIgnoreCase(args[0])) {
//                    hra = cz.pecinovsky.english.pojj.adv_demo.
//                          cesta_školou.hra.HraCestaSkolou.getHra();
//                }
//                 if ("BYT".equalsIgnoreCase(args[0])) {
//                    hra = cz.vse.adventura.po1715.xshet00_shevtsova.hra.Hra_destnik.getHra();
//                }
           if ("Destnik".equalsIgnoreCase(args[0]))
           {
               hra= Hra_destnik.getHra();
           }
                else {
                    break RIGHT;
                }
                test = args[1];
            }

            if (T_101.equals(test)) {
                test_101(hra);
            }
            else if (T_115.equals(test)) {
                test_115((IGameG) hra);
            }
            else {
                break RIGHT;
            }
            return;
        }
//        throw new RuntimeException(
//                "\nNeočekávaný parametr příkazového řádku");
    }

    /** Soukromý konstruktor zabraňující vytvoření instance.*/
    private TestZadaneHry() {}
}
